"""
1.给定一个整数数组 nums 和一个目标值 target，请你在该数
组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
假设每种输入只会对应一个答案。但是，数组中同一个元素不能使用两遍。（
至少使用两种方法求解）
示例：给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
"""
import time
def run_time(fun):
    def get_time(*args,**kwargs):
        star_time = time.time()
        ss = fun(*args,**kwargs)
        end_time = time.time()
        print('执行时间' , end_time-star_time)
        return ss
    return get_time

@run_time
def fun1(nums,target):
    for i,item1 in enumerate(nums):
        for f,item2 in enumerate(nums):
            if f != i:
                if item1 + item2 == target:
                    return [i,f]

nums = [2,9,3,7]
target = 10
print(fun1(nums,target))

@run_time
def fun2(nums,target):
    for i in range(len(nums)):
        for c in range(i+1,len(nums)):
            if target == nums[i] + nums[i+1]:
                return [i,c]

fun2(nums,target)

# lambda a,b:a+b